Contact-centric user-interface features for computing devices

ABSTRACT

Embodiments described herein provide a system, method and technique for operating a communication device. According to an embodiment, information contained in a contact record is displayed, where the information includes a plurality of entries. Each entry is associated with one of a plurality of communication types and includes an identifier for use with an application of the associated communication type. An input is detected corresponding to a user&#39;s selection of one of the plurality of entries. In response to the user&#39;s selection, the application of the communication type associated with the selected entry is automatically executed by initiating a communication using the identifier included in the selected entry.

RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.12/692,581, filed Jan. 22, 2010, now U.S. Pat. No. 8,099,129 which is acontinuation of U.S. patent application Ser. No. 11/200,502, filed Aug.8, 2005 (now U.S. Pat. No. 7,680,513), each of which are herebyincorporated by reference in their entireties for all purposes.

TECHNICAL FIELD

The disclosed embodiments relate generally to the field ofuser-interface features for computing devices, and more particularly, tocontact-centric user-interface features for facilitating communicationsgenerated from a communication device.

BACKGROUND

Computing devices, particularly handheld and portable devices, haveevolved to include numerous types of communication capabilities andfunctionality. For example, handheld devices exist that operate ascellular phones, messaging terminals, Internet devices, while includingpersonal information management (PIM) software and photo-managementapplications. Additionally, Internet Protocol services exist that cantransform Internet-enabled machines into telephony devices. Evenstand-alone telephones that connect to traditional Public SwitchedTelephone Networks (PSTN) are including more software to enhance thetelephone's functionality.

In enhancing telephony operations with computing resources and software,effort has been made to enhance and assist the user in using suchdevices. For example, software features exist to facilitate the ease inwhich the user can establish a speed dial, and to make recently usedphone numbers more readily available to users. Small form-factorcomputing devices, such as devices that provide cellular phonefunctionality, have particular use for speed dial features, in order toreduce the manual involvement of the user. These devices have smallerkeyboards that may be harder to operate, and/or use in mobile or dynamicenvironments, where the user cannot readily retrieve a desired number.

Telephony devices are just one type of communication device. There arenow many types of communication types, and multi-functional devicesexist to accommodate the different communication types. Examples ofcommunication types other than telephony include e-mail, instant message(including SMS protocol messages and Multimedia Message Service (MMS)protocol messages), and video conferencing. Many computing devices,particularly smart phones, are enabled to support communications usingmultiple communication mediums.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a communication system that provides contact-centricuser-interface features for exchanging different types of communicationswith correspondents, according to an embodiment.

FIG. 2A illustrates a simplified hardware diagram for implementing acommunication device such as described by FIG. 1, under an embodiment ofthe invention.

FIG. 2B illustrates a communication device for use with one or moreembodiments of the invention.

FIG. 3 describes a method for enabling information from a contact recordto be displayed and used for initiating communications, under anembodiment of the invention.

FIG. 4A and FIG. 4B illustrate embodiments implemented in the context ofa list that is maintained for use with a phone application.

FIGS. 5A and 5B illustrate implementations of embodiments in connectionwith a lookup feature for a contact database.

FIG. 6A-6C illustrate the use of embodiments of the invention in thecontext of notifications.

FIG. 7 illustrates a method in which a user interface feature such asdescribed in FIG. 1 corresponds to a shortcut action.

FIG. 8 illustrates an embodiment of a user-interface incorporating imagedata in connection with a shortcut action, such as described with FIG.7.

FIG. 9 illustrates an interface for establishing a speed dial action inconnection with image data from a contact record, under an embodiment ofthe invention.

DETAILED DESCRIPTION

Embodiments of the invention provide a contact-centric approach touser-interface features of computing devices for purpose of generatingcommunications to desired correspondents. In particular, embodiments ofthe invention include user-interface features that make availableabundant information that is based on the contents of contact records,in the context of enabling a user to communicate with the contacts. Thisinformation may include a listing of alternative phone numbers, emailaddresses, instant message identifiers or other communicationidentifiers, so that the user can choose from alternative phone numbersor from alternative modes of communication. The information may alsoinclude an image stored with the contact record, so that the user canvisualize the contact and have a more personable experience using thecommunication device.

To provide an example, while many small form-factor devices such ascellular phones and wireless messaging phone hybrids (sometimes calledsmart phones), employ a redial list that displays a name of a contactand a number recently dialed, an embodiment of the invention providesthat the redial list makes the contact record, or information from it,available. Thus, one embodiment provides that the user can use theredial list to view, for example, alternative phone numbers, emailaddresses, instant message identifiers, and/or an image of the contactrecord. All such information in the contact record may be made availablethrough one selection action from the user, enabling the user to viewthe information from the contact record, prior to making a selection ofa communication identifier or even a mode of communication.

As another example, speed dialing is a common feature on many cellphones and smart phones. One button press, for example, may direct aphone to place a call. Embodiments described herein expand this concept,to enable the user to specify different communication identifiers andtypes of communications (e.g. email) for one speed dial, or to viewinformation such as images of the contact record, or alternative phonenumbers and messaging addresses of the contact record.

Computing devices, such as smart phones, may associate numerous featuresand activities with contact records. For example, notification messagesmay be generated for the user of the communication device in response toactivities that pertain to a contact. Rather than focusing on just thename of the contact, or the phone number or address involved in thecommunication activity, embodiments described herein focus on linkingportions of contact records to features such as notifications orcommunication schemes (e.g., e-mail, telephone, SMS) that pertain tocertain contact records.

Introduction

Embodiments described herein provide a system, method and technique foroperating a communication device. According to an embodiment,information contained in a contact record is displayed, where theinformation includes a plurality of entries. Each entry is associatedwith one of a plurality of communication types and includes anidentifier for use with an application of the associated communicationtype. An input is detected corresponding to a user's selection of one ofthe plurality of entries. In response to the user's selection, theapplication of the communication type associated with the selected entryis automatically executed by initiating a communication using theidentifier included in the selected entry.

In an embodiment, a communication device may be operated to detecting anactivity on the communication device that is associated with a contactrecord stored on the communication device. An action may be performed bythe user, and in response, information is displayed to the user based ona content of the contact record. The information may include a pluralityof entries that identify or correspond to one or more communicationidentifiers contained in the contact record. In an embodiment, eachentry is selectable by the user to initiate a communication of aparticular type. As a result, the plurality of entries combined enablethe user to initiate a communication of more than one type. An input maybe detected that corresponds to a selection by the user of one of theplurality of entries. In response to the selection, a communication maybe automatically initiated using the communication identifier thatcorresponds to the entry of the selection. This communication may be ofthe type reflected by the entry.

One or more embodiments described herein may also be implemented in thecontext of a lookup feature. A lookup feature may enable the user toenter alphanumeric strings that are then matched to one or more fieldsof a contact in a contact database. Results from the user's input mayprovide information from one or more matching contact records. Thisinformation may include communication identifiers, that can be selectedto initiate a communication method (e.g., telephone call, e-mailmessage, text message via SMS) with a correspondent of the contactrecord.

According to another embodiment, a communication device may be operatedto associate a contact record with a shortcut action. The communicationdevice may detect the shortcut action, and responsively displayinformation from the contact record. The information may include one ormore communication identifiers for use in generating communications oftwo or more types from the computer telephony device.

In another embodiment, an image is associated with the shortcut action.The image may be linked or stored with the contact record, or it may belinked only to the shortcut action. The image may then be displayed as aprompt to cause the user to select the shortcut action. For example, theimage may be in the form of a selectable icon.

A communication corresponds to data representing any user-createdmessage and/or utterance. Examples include text messages, multimediamessages and voice transmissions, including any data or voicetransmission made during a phone call or other voice-exchange session.

Numerous types of computing devices may be employed with embodiments ofthe invention. One type of communication device that can be used inimplementing embodiments described herein is a wireless, mobilecomputing device, sometimes called a “smart phone”. Such devices aregenerally small to fit in one hand, and provide cellular telephonyfeatures in combination with other applications, such as contactapplications for managing contact records, calendar applications formanaging and scheduling events, task applications for keeping lists, andcamera applications for capturing images. Another type of communicationdevice that can be used to implement embodiments of the invention is adesktop computer that is configured to include real-time voice dataexchange (e.g. through the use of a Voice over Internet Protocol). Stillfurther, other types of communication devices exist, includingstandalone devices that connect directly to a telephone network (whetherInternet Protocol or Public Switch Telephony System) and providesoftware interfaces and applications. Protocol or Public SwitchTelephony System) and provide software interfaces and applications.

In an embodiment, a communication device is one that enablesvoice-exchange sessions. A voice-exchange includes any data transfermethod in which a user's speech or utterance is transmitted across anetwork to the location of another device or user in real-time (e.g.instantaneous) or near real-time (e.g. less than three seconds).Examples of voice-exchange includes standard telephony calls,push-to-talk communications, or walkie-talkie radio communications.Another example of voice-exchange is when a voice transmission isrecorded and transmitted as an instant message or file to be receivedand played back at the recipient. An example of such a service isprovided with SKYPE, provided by the SKYPE GROUP. Voice exchangecommunications may be conducted over cellular networks, the Internet,Public Switch Telephony networks, local area networks and othernetworks. Specific examples of voice-exchange communicationscontemplated under one or more embodiments of the invention include (i)cellular communications, or (ii) voice communications conducted overInternet Telephony systems (e.g. through Voice over Internet Protocol).With the latter case, it should be noted that such communications may beconducted as wireless communications on a computing device, using alocal wireless connection such as WiFi or Bluetooth (even though thevoice-communication is transmitted over the Internet).

A communication device may employ different applications to enablecommunications of different types. For example, a communication devicemay include a phone application and one or more messaging applications.A phone application is any application that handles voice data inconnection with voice-exchange session. A phone application maycorrespond to any component, module, or software that enables two-waytelephony sessions, walkie-talkie radio transmissions, and instant-voicetransfers. Messaging applications may be in the form of emails andinstant messages. While many messaging applications are text-based,message formats such as Multimedia Messaging Service (MMS) are image ormedia based.

According to another embodiment, a contact record is associated with ashortcut action that can be performed by the user. When the userperforms the shortcut action, information is displayed for communicatingwith the contact using any one of several communication types. In oneembodiment, information displayed includes one or more identifiers foruse in generating communications of two or more types from the computertelephony device.

As used herein, the term “user-interface feature” means a programmaticor logical mechanism that performs a specific operation or set ofoperations in response to a designated user-activity. One type ofuser-interface feature is a graphical user-interface feature. An exampleof a graphical-user interface feature is an icon, a menu item, entry orother data structure that serve to prompt the user to perform a statedaction (e.g. perform a “click” action). Another example of auser-interface feature is a “shortcut action”, which is a designateduser-action or series of actions that (i) cause one or more operationsto be performed by a computing device, and (ii) serve as a substitutionor alternative for an equivalent user-activity that is longer induration and/or more involved for the user (e.g. requires moreuser-interaction). For example, a shortcut action may correspond to apress and hold button or icon selection that results in a phone numberbeing dialed. The short cut action substitutes for user-activity thatwould require locating the phone number and inputting each of theindividual numbers.

A communication identifier is any alphanumeric data element thatidentifies a device and/or a location available for communicationsthrough a network (including, for example, cellular networks, theInternet, local area networks, and Public Switch Telephony Networks).Phone numbers, email addresses, instant message identifiers or evenInternet Protocol addresses (e.g. as used for voice or datatransmissions to or from a computing device) are examples ofcommunication identifiers contemplated by embodiments of the invention.Numerous other examples are provided below.

Embodiments provide that methods, techniques and actions performed bythe communication device are performed programmatically, or as acomputer-implemented method. Programmatically means through the use ofcode, or computer-executable instructions. A programmatically performedstep may or may not be automatic.

Furthermore, one or more embodiments described herein may be implementedthrough the use of instructions that are executable by one or moreprocessors. These instructions may be carried on a computer-readablemedium. Machines shown in figures below provide examples of processingresources and computer-readable mediums on which instructions forimplementing embodiments of the invention can be carried and/orexecuted. In particular, the numerous machines shown with embodiments ofthe invention include processor(s) and various forms of memory forholding data and instructions. Examples of computer-readable mediumsinclude permanent memory storage devices, such as hard drives onpersonal computers or servers. Other examples of computer storagemediums include portable storage units, such as CD or DVD units, flashmemory (such as carried on many cell phones and personal digitalassistants (PDAs)), and magnetic memory. Computers, terminals, networkenabled devices (e.g. mobile devices such as cell phones) are allexamples of machines and devices that utilize processors, memory, andinstructions stored on computer-readable mediums.

System Overview

FIG. 1 illustrates a communication system that provides contact-centricuser-interface features for exchanging different types of communicationswith correspondents, according to an embodiment. A communication system100 includes a user-interface feature 110 and a contact database 112 (orother data structure form). As described throughout this application,the user-interface features 110 may have various forms andimplementations, such as implementation as a graphic user-interfacefeature (e.g. “list”) or as an event-driven programmatic element (e.g.“shortcut action”). According to an embodiment, the communication system100 is capable of exchanging communications of different types withcorrespondents through use of different communication applications. Inan embodiment such as shown by FIG. 1, the communication system 100includes one or more of the following communication applications: aphone application 142 for engaging in telephonic sessions and generatingcall/voice data 144, an e-mail application 152 for generating e-mails154, an instant message application 162 (e.g. a Short Message Service(SMS) application) for generating instant text messages 164, and analternative multimedia instant message application 172 (e.g. MultimediaMessage Service (MMS) application) for generating, for example,multimedia instant messages 174. The call/voice data 144, e-mails 154,instant text messages 164, and instant multimedia messages 174 areexamples of different types of communications, as the data carried byeach type of communication either represents a different kind ofcommunication (e.g. telephonic, text, multimedia) or is handled andexperienced differently by the recipient of the communications (e.g.instant text message versus e-mail). Different communicationapplications are assumed to generate different types of communications,unless stated otherwise.

As will be described in greater detail, each of the user-interfacefeatures 110 may provide one or more of the following functionality: (i)display communication identifiers, or data representing communicationidentifiers, from contact records stored in the contact database 112,and/or (ii) enable user-action that is specific to displayed orindicated communication identifiers and that can be correlated toinitiation of a communication of a particular type using the displayedor indicated communication identifier.

Furthermore, one or more of the user-interface features 110 maycorrelate a contact record with a communication activity. Thecommunication activity may include, for example, a communicationattempted or initiated for a correspondent, a communication transmittedto the correspondent, or a communication received by the correspondent.For example, the user-interface features 110 may include lists ormessages that record the occurrence of incoming or outgoingcommunications. The type of communication that is recorded may be one ofdesign choice or implementation. For example, a communication log maymaintain a list of all phone calls made or received, or it may contain alist of all messages and phone calls received or sent.

In an embodiment, one or more of the user-interface features 110 mayinclude shortcut actions or programmatic triggers that are actionable bythe user 102 to trigger display and/or use a designated communicationidentifier from a corresponding record. Such implementations may be doneindependently of correlating contact records with communicationactivities. Specific examples of user-interface features 110 areprovided below.

Communication device 100 may correspond to any one of numerous types ofcomputing devices, capable of sending and receiving communications ofdifferent types. In one embodiment, communication device 100 includesthe capability to enable telephony, or at least voice-exchange sessions(such as provided by services such as SKYPE). In one implementation,communication device 100 corresponds to a wireless computing devicehaving capabilities to enable voice calls and message exchanges overcellular networks. In another implementation, communication device 100corresponds to a computer (such as a desktop computer) with capabilitiesto enable Voice Over Internet Protocol telephony sessions, as well asdata message exchanges. Embodiments such as described by FIG. 1 andelsewhere in this application may be implemented on virtually any typeof network enabled device capable of exchanging communications usingdifferent communication mediums or applications.

In FIG. 1, contact database 112 stores a plurality of contact records.Each contact record may store information about a correspondent (whichmay be a person or entity), including information for contacting andcommunicating with the correspondent. Information for contacting andcommunicating with the correspondent may include communicationidentifiers, which are data elements for identifying and locating acorrespondent on a network, using a particular kind of protocol ortransmission. Examples of communication identifiers include phonenumbers, email addresses, and instant message identifiers. FIG. 1 showsan example of a contact record 180 that may be stored in the contactdatabase 112. The contact record 180 includes a correspondent name 178(“Greg Shirai”) and numerous entries that contain information forexchanging communications of different types with the correspondent. Inone implementation, each identifier item 182 includes a field thatidentifies the communication type, and a value that specifies analphanumeric string that serves as a communication identifier for theparticular type of communication. Each of the fields may be part of atemplate, although an embodiment provides that some or all of the fieldsmay be defined by the user. For telephonic communications, contactrecord 180 may lists a mobile telephone number, a work telephone number,and a home telephone number as telephonic identifiers. For e-mailmessaging, a primary e-mail address and a secondary e-mail address aree-mail identifiers. Additionally, the example shown includes threedifferent forms of instant messages: an SMS identifier, a MMSidentifier, and an Instant Message identifier.

Each contact record may also have a record identifier that identifiesthe contact record to the user. In one implementation, the recordidentifier may correspond to or be derived from the correspondent name178. For example, the record identifier may correspond to “Greg Shirai”or “Greg” or “Greg S.” Additionally, the contact record 180 may includeinformation other than communication identifiers. For example, contactrecord 180 may include a mailing address, and personal information aboutthe correspondent (e.g. Birthday). As described elsewhere in theapplication, the contact record 180 may also include an image.

User-interface feature 110 may, in response to user-input, display orpresent record information 115 of a given contact record stored in thecontact database 112. The record information 115 may includeidentification or representation of a set of one or more communicationidentifiers contained in the given contact record. The recordinformation 115 may be generated from the contents of the contact record180. The communication identifiers provided in the record information115 may represent some or all of the fields and/or field valuescontained in the given contact record. For example, the recordinformation 115 may include a communication identifier for (i)telephonic communications (e.g. mobile phone number), (ii) e-mailmessaging (e.g. primary e-mail address), and (iii) instant messaging(e.g. SMS identifier). The communication identifiers may be displayedwith the corresponding fields and/or with the values provided in thosefields. Alternatively, the record information 115 may represent thecommunication identifiers of the given record without actuallydisplaying the communication identifiers. For example, the recordinformation may contain “Greg's Mobile Number” and omit the actualnumber. Nevertheless, the representation is tied to a correspondingcommunication identifier from the given record.

In one implementation, the record information 115 may include all of thecommunication identifiers contained in the given contact record 180. Inanother implementation, only some of the communication identifiers ofthe contact record 180 are provided with the record information 115.

One or more of the user-interface features 110 may present and makerecord information 115 available in response to user-input. In anembodiment, user-interface feature 110 provides a mechanism (i) todisplay communication identifiers from individual contact records touser 102, and/or (ii) to enable the user 102 to enter selection input128 that specifies a communication identifier. In one embodiment, theselection input 128 may also specify a type of communication that usesthe communication identifier. The mechanism provided by theuser-interface feature 110 may provide a mechanism to programmaticallyinitiate a communication of a particular type in response to theselection input 128.

The user-interface features 110 may be provided in different contextsand uses. An embodiment provides that one of the user-interfaces 110displays information that correlates communication activities withcontact records, at least to the extent communication identifiers usedwith the communication activities are contained in corresponding contactrecords. Thus, record information 115 from the record 180 may beprovided in the context of information that records a particularactivity performed or handled by one of the communication applicationsin connection with a correspondent for that contact record. For example,one of the user-interface features 110 may be in the form of a list thatlogs communications made, received, or attempted through use of one ormore of the communication applications. Entries in the list may identifycorrespondents of the logged communications by the contact recordidentifier, rather than by the communication identifier that may havebeen used by the user 102, or by the correspondent when thecommunication activity occurred. Individual entries in the list may beselectable by the user 102. In one embodiment, the user-interface 110may provide a presentation comprising multiple contact recordidentifiers, and the user may enter a record selection 124 to viewrecord information 115 from the selected contact record. Examples of howthe communication identifiers may be viewed or used from a list areshown with FIG. 4A and FIG. 4B.

The user-interface features 110 may also enable the user 102 to act onthe communication identifiers displayed or otherwise provided in therecord information 115. For example, the record information 115 maycontain selectable data elements that represent the communicationidentifiers of the contact record. The user may enter a selection input128, which causes a corresponding one of the communication applicationsto initiate a communication using the selected communication identifier.In one embodiment, the communication may be initiated automatically, orsubstantially automatically (e.g. prompt the user to confirm first) inresponse to the selection input 128.

To provide an example of an embodiment described above, one of theuser-interfaces 110 may display entries corresponding to individualcontact records. The record selection 124 is for one of the displayedentries. In response to the record selection 124, the user-interface 110displays record information 115, containing a display of multiple phonenumbers and e-mail addresses (or representations of those phone numbersand e-email addresses). The selection input 128 may correspond to theuser selecting a phone number from a phone number field, in which casethe phone application 142 initiates a phone call using the phone number.Alternatively, the selection input 128 may correspond to a userselecting an email address from an email field (which may also be thephone number), resulting in a message being opened and addressed to theemail address identified by the selection input 128.

Under another embodiment, one or more of the user-interface features 110may correspond to a mechanism that allows the user to initiate acommunication of a particular type, independent of previouscommunication activities or information recording occurrences of suchactivities. In one embodiment, the user-interface feature 110 is in theform of a programmatic mechanism that can be triggered by a designatedinput at any time. When triggered, an embodiment provides thatcommunication identifiers from a given contact record associated withthe user-interface feature 110 are displayed, and the user can takefurther action to select one of the communication identifiers forpurpose of initiating communications of a particular type with thecorrespondent. Another embodiment may provide that one of thecommunication identifiers from the given contact record is used toautomatically initiate a communication of a particular type, in responseto the programmatic mechanism being triggered. Such embodiments aredescribed below with FIG. 7.

In one embodiment, some or all of the one or more user-interfacefeatures 110 are provided as part of a user-interface application oroperating system. Thus, for example, user-interface feature 110 may beprovided by an application or process that is independent of thecommunication applications. In another embodiment, however, some or allof the user-interface features 110 may be provided as part of one ormore of the communication applications. For example, the phoneapplication 142 may operate and maintain one or more of theuser-interface features 110.

Regardless of how the user-interface features 110 are provided, anembodiment provides that one or more of the user-interface features canbe used to initiate communications of different types. Thus, forexample, the phone application 142 may be used to view a list, but fromthe list, the user 102 may cause another application to execute andinitiate a communication of a type other than a telephonic message. Forexample, selection input 128 may be for an email address in the recordinformation 115, causing the email application 152 to execute from auser-interface feature of the phone application 142. Thus, one or moreof the user-interface features 110 may be provided as part of one of thecommunication applications, while also serving as a mechanism for a userto launch another one of the communication applications.

Another embodiment provides that certain user-interface features may beused to display or represent multiple communication identifiers, ofeither the same or different types. Thus, multiple phone numbers may bedisplayed and/or made usable to a user-interface feature where with pastapproaches, single communication identifiers were provided with the sameuser-interface feature, independently of the contact records thatcontained those communication identifiers.

In the case where the user 102 enters selection input 128 thatidentifies a communication identifier in the record information 115,different variations are possible in the manner that the selectiondesignates a communication type. Some communication identifiers mayserve as identifiers for more than one type of communicationapplication. For example, mobile phone numbers may be used by the phoneapplication 142, the e-mail application 152, and one or more of theinstant message applications 162, 172. In one embodiment, the selectioninput 128 is of the record item containing the communication identifier,as displayed with the corresponding field. Thus, the selection input 128may indicate the type of communication that is to be initiated based onthe field that contains the selected communication identifier.Alternatively, the communication identifier may be specified by theselection input 128, and when applicable, some other action or input mayselect the type of communication that is to be initiated using thatidentifier. The selection input 128 causes the appropriate communicationapplication that generates the indicated communication type to use theselected contact identifier 128 to initiate a communication. It is alsopossible for the communication application that is used to go beyondinitiating the communication and to transmit the communication of theindicated type.

To provide an illustrative example, the selected communicationidentifier is provided as the phone number 140, the phone application142 uses the phone number to generate call data 144. The call data 144may correspond to the initiation of a phone call or other voice-exchangesession. However, the communication identifier that serves as the phonenumber 140 (e.g. mobile number) may alternate as an email address,instant message address, or portions thereof. In one implementation, therecord information 115 may provide or associate the displayedcommunication identifiers with their corresponding fields from thecontact record 180 in order to provide a mechanism by which the user canspecify the communication type.

If the communication identifier of the selection input 128 correspondsto an email address 150, the email application 152 may be used tocompose or otherwise generate the email 154, using the email addressidentified by the selection input. Likewise, if the selectedcommunication identifier corresponds to an instant messagecommunication, the corresponding or designated instant messageapplication 162, 172 may be executed using the instant messageidentifier 164, 174 corresponding to that communication identifier.

Hardware Diagram

FIG. 2A illustrates a simplified hardware diagram for implementing acommunication device such as described by FIG. 1, under an embodiment ofthe invention. In an embodiment, communication device 100 includes oneor more of each of a processor 210, a memory device 220, and a display230. The memory device 220 may hold instructions corresponding to thecommunication applications. The memory device 220 may also store thecontact database from which the contact records are provided.

The processor 210 may access the memory device 220 to executeinstructions corresponding to the different communication applications.In an embodiment, the processor 210 executes instructions for providingthe user-interface feature 245 on the display 230. While FIG. 2A showsone user-interface feature, numerous user-interface features may beimplemented for providing different embodiments described herein. Theuser-interface 245 is just one example of one kind of user-interfacefeature that may be implemented on the communication system, accordingto an embodiment.

In an embodiment shown, the user-interface feature 245 displaysinformation about communication events (transmitted and receivedcommunications). The processor 210 may execute instructions formonitoring and maintaining the user-interface feature 245 (shown as alist) updated, after communication events that are recorded in theuser-interface feature 245. In one embodiment, when a communicationevent is detected that can be identified are associated with one of thecontact records stored in the memory device 220, the entry is made inthe user-interface feature that identifies the contact record, not justthe communication identifier used with the event. Thus, theuser-interface feature 245 may display only identifiers to contactrecords, at least to the extent that communication identifiers used incommunication events are contained in the contact records stored on thedevice.

The communication device 200 may include one or more sets of inputmechanisms 240, corresponding to hardware components that enable theuser to enter input when interacting with the user-interface feature.Specific examples of input mechanisms 240 include buttons,contact-sensitive displays, dials, scroll-wheels, keys,multi-dimensional input devices, and microphones (for receiving voicecommands)

The user may operate the input mechanisms 240 in order to enter, forexample, record selection 124 (see FIG. 1), resulting in one of theentries of the list provided with user-interface feature 245 beingselected. In one implementation, display 230 provides a window 242 ordisplay area where multiple communication identifiers (e-mail, mobilenumber, SMS, MMS) in the contact record selected by record selection 124are displayed. The processor 210 may generate the window 242 on thedisplay 230 dynamically, in response to the record selection 124. In oneembodiment, window 242 displays multiple communication identifiers (orrepresentative data structures) at one time.

In an embodiment shown by FIG. 2A, the user's selection input 128 may bemade through one of the input mechanisms 240, in coordination with thedisplayed user-interface 245 and contents of window 242. For example,the user may operate the input mechanisms 240 to cause one of thecommunication identifiers in the window 242 to be selected.

One or more communication components 218 may enable the device 200 totransmit and receive communications of different types. Examples ofcommunication components 218 include a cellular radio and receiver fortransmitting and receiving data over cellular networks, a modem forconnecting to the Internet, or a or a wireless (e.g., IEEE 802.11a/b/g(WI-FI) or BlueTooth) component for communicating over those respectivemediums. An initiated communication by the user may subsequently betransmitted (either automatically or through further manualintervention) using the communication component 218 appropriate for thetype of communication being transmitted.

While an embodiment shown by FIG. 2A pertains to a device, analternative embodiment may implement the components shown in FIG. 2A asan interconnected system. For example, one of the memory devices 220 maybe a network memory, such as a contact database belonging to a user'sInternet email account. The processor 210 may access the contactdatabase over the Internet.

Likewise, an embodiment provides that programs or functionalitydescribed with processor 210 may be implemented from a network, thatcommunicates with a client or end user device over the Internet. Forexample, user-interface 245 may be provided on a terminal in the form ofa web-page, using programming that runs on a server. In fact,communications generated from the terminal may be uploaded to the serverand transmitted as a communication type using programming that runs onthe server. Numerous other combinations where components orfunctionality described by FIG. 2A are provided through networkresources are possible.

FIG. 2B illustrates a communication device 260 for use with one or moreembodiments of the invention. The communication device 260 is a wirelessmobile computing device, capable of making and receiving phone calls andmessages over cellular networks. In an embodiment, input mechanisms(such as described as element 230 in FIG. 2A) include amulti-dimensional component 270, positioned near a display panel 272. Inone implementation, multi-dimensional component 270 has five dimensions,including four directional/navigational inputs and one selection motion(inward in center). The multi-dimensional component 270 positionedadjacent to display panel 272 enables the user to view theuser-interface 245, and to enter the record selection 124 (described inFIG. 1) and/or selection input 128 (described in FIG. 1) with one hand.The proximity of the display panel facilitates the user to coordinatethe input, including navigation input to scroll amongst, for example,the many communication identifiers or entries in the window 245. Forexample, an embodiment such as shown enables the user to use one thumbto enter all the inputs needed to view information from theuser-interface feature 245, and to make selections or enter input whileviewing the user-interface feature 245. In addition to the component270, devices may use additional buttons or keys, including keys in thecontext of a QWERTY layout.

Methodology

Numerous methods and techniques may be implemented to enable a user toautomatically initiate anyone of a plurality of communication typesthrough selection of a corresponding contact identifier.

In FIG. 3, a method is described for enabling information from a contactrecord to be displayed and used for initiating communications, under anembodiment of the invention. In Step 310, a user-interface feature isprovided that the user can act on to communicate with a correspondentfor whom a contact record exists. Different types of user-interfacefeatures may be provided, as described below.

According to one embodiment, the user-interface feature is aprogrammatic shortcut action that the user can trigger throughmechanical interaction with the communication device. In such anembodiment, no information may be displayed in order to enable the userto trigger the action. Alternatively, the shortcut action may begraphical in nature, and reflect information (such as past communicationactivities) in order to enable selection of the contact record throughinformation that is viewed. In one example, the user-interface featuremay correspond to a list of favorite contacts, provided as anapplication or application feature of the communication device.

According to an embodiment, the user-interface feature displaysinformation relating to past communication activities. For example, theuser-interface feature may be in the form of a list having entries thatare identifiable to a plurality of contact records stored on thecommunication device. Examples of such communication activities includea call log, a short phone list, and a message list (such as an inbox oroutbox for email, SMS or MMS). Another example of a user-interfacefeature that reflects a previous communication activity is a messagethat informs the user of a missed call. Still further, other examplesinclude a speed dial list or presentation. In the examples provided,individual entries in the list may identify a contact record of acorrespondent for whom there has been a communication exchange, and theentries themselves are selectable or otherwise actionable by the userdisplay additional information from the contact record.

In step 315, input is received from the user through the user-interfacefeature. The input indicates a desired correspondent. For example, theuser may perform a shortcut action, or select an entry from a listpertaining to past communication activities. Alternatively, the user mayopen a notification relating to a contact record.

In step 320, a contact record for the desired correspondent may beaccessed for information. The information may include multiplecommunication identifiers of the desired correspondent. For example,alternative phone number may be displayed from the contents of thecontact record. Alternatively, a combination of phone numbers, emailaddresses and instant message identifiers may be displayed, so that theuser can choose a type of communication.

In one embodiment, the contact record may reside in a contact databaseused by one or more applications, including, for example, an addressbook application. In another embodiment, the contact record of thedesired correspondent may be created and stored in connection withanother database or record collection for use with the user-interfacefeatures.

According to an embodiment, in step 330, a sub-feature is provided thatdisplays information identified in step 320. The sub-feature enablesinteraction by the user of items displayed in the sub-feature. Forexample, items displayed in the sub-feature may be selectable throughmechanical interaction with the communication device. In one embodiment,the sub-feature corresponds to a display area, such as window or box, inwhich multiple entries are provided. Each entry may display acommunication identifier (“John@email.com”) or a representation of thecommunication identifier (“John's email address”). Multiplecommunication identifiers may be represented at one time on a displayarea of the sub-feature. In the case where one communication identifieris capable of being used for different types of communications, multipleentries may represent communications of different types, even if theyuse the same identifier. In either case, an embodiment provides that theuser is able to select more than one type of communication exchange withthe desired correspondent, using display elements displayed at one timeon the sub-feature.

According to an embodiment, the sub-feature is instantly presented inresponse to the user's input of step 315. Thus, if the user-interfacefeature is initially a list, and the input of step 315 selects an entryfrom the list, a window, box or other sub-feature may appear containingalternative phone numbers, or a combination of communication identifiersof different types. Accordingly, an embodiment provides that thesub-feature is dynamically generated. The sub-feature may disappear whennot in use.

Furthermore, information displayed in the sub-feature may be configuredbased on information contained in the contact record of the desiredcorrespondent. Thus, information appearing in the sub-feature is theresult of information read from the contact record of the desiredcorrespondent. The number of entries presented, and/or the type ofcommunication identifiers presented may depend on what is contained inthe contact record selected.

In step 340, a user's selection of a communication identifier providedin the sub-feature is detected. The user selection may be in variousforms, depending on design and implementation. For example, theuser-interface feature may be in the form of (i) the user clicking amouse or pointer on the feature, (ii) the user tapping acontact-sensitive display at a region where the feature is displayed,(iii) the user entering text in a region provided by the feature, or(iv) the user moving a displayed cursor to hover, highlight or otherwisefocus the object. Depending on the implementation, the communicationidentifier may correspond to, for example, a phone number (e.g. homephone number, work phone number, mobile or cellular number), e-mailaddress, and/or an identifier for instant messages.

Step 350 provides that the selected communication identifier is used toautomatically perform one or more operations to initiate communicationof a type indicated by the user's selection. If the selection isidentified as a phone number for a mobile cellular device, a phoneapplication may be used to initiate a phone call using the identifiedphone number. Thus, for example, the selection of the phone number maytrigger the phone application to initiate the phone call by performingone of the following: (i) display the selected phone number and let theuser manually select the phone number to be dialed, (ii) display andthen automatically dial the selected number, or (iii) automatically dialthe selected number. Likewise, if the selection is identified as ane-mail address, then an e-mail message may be initiated. For example,selection of the e-mail address may cause the e-mail application toautomatically open a new message with the recipient address field (e.g.the “to” field) filled in with the selected e-mail address.

A method such as described by FIG. 3 provides that multiple types ofcommunications may be initiated from a single interface, through theuser's act of selecting a feature that displays the contact identifier.For example, a mobile phone number may be displayed as both a phonenumber and an SMS identifier. The user may make a selection of the phonenumber for the SMS identifier, in which case, the SMS application isused to address the SMS message. In the example provided, the user needsonly to type the message.

The user-interface may be provided in various forms, as described below.An embodiment provides that more than one communication mechanism and/orapplication may be accessible to the user when the information isdisplayed.

Various applications and uses are possible in implementing embodimentsof the invention. The following represent different usage scenarios,according to embodiments of the invention.

List Management

Communication applications often employ lists that reflect pastcommunication activities. For example, one type of list typicallymaintained on some smart phones is a call log, which records every phonecall made or received on the device. Another list that is sometimesmaintained on smart phones is a redial list, showing most recently usednumbers on a quick, easy to view list.

FIG. 4A and FIG. 4B illustrate embodiments implemented in the context ofa list that is maintained for use with a phone application. A list suchas shown in FIG. 4A and FIG. 4B may be displayed in response to anevent, such as a user-selection. In FIG. 4A, the list 410 is an exampleof a user-interface feature that reflects recently received or dialedcalls (e.g. the “redial list”). The list 410 includes a plurality ofentries 420, corresponding to each received or made call. The pluralityof entries 420 may include recognized entries 422 (alternativelyreferred to as “contact entries”) or unrecognized entries 424. If anincoming phone call or an outgoing phone call uses a phone numbercontained in a stored contact record, the contact record is identifiedas the entry, thus making the entry recognized. Otherwise, the phonenumber is listed in the entry in an unrecognized form. Recognizedentries may be displayed in the form of an identifier of the contactrecord containing the used phone number. For example, each recognizedentry 422 may list the name of the contact for whom the contact recordwas made.

According to an embodiment, if the user selects a recognized entry 422,a window 430 is generated that lists information from the contact recordidentified by that entry. The window 430 is an example of a sub-feature.Within the window 430, information associated with the contact record ofthe selected entry is displayed. The information displayed may include alisting of communication identifiers, such as phone numbers, listed byfields or communication type. In one embodiment, the informationdisplayed from the contact record includes the known or alternativephone numbers for that contact. In another embodiment, identifiers maybe listed for conducting different types of communications, such as foremail or text messaging.

In an embodiment shown by FIG. 4A, a list of known phone numbers 434 areprovided in the window 430. Phone numbers 434 may be alternative phonenumbers, select phone numbers (e.g. the first three phone numbers of acontact record) or all of the phone numbers for the contact. Asubsequent selection of one of the phone numbers 434 causes that phonenumber to be dialed. In an implementation shown, phone numbers 434 areaccompanied field indicators 438, reflecting the fields of the contactrecord for which the phone number is a value. In an alternativeimplementation, entries in the window 430 may represent the phonenumbers or other communication identifiers, but the exact number orfield value may be omitted. For example, the top entry in the window 430may be replaced by “Greg's mobile”.

In an embodiment, the communication application that manages or providesthe list 410 reflects the type of communication identifiers that aredisplayed from the list. In a case of a redial list, such as shown byFIG. 4A, the window 430 displays phone numbers, as the redial list isused with the phone application.

In an embodiment shown by FIG. 4B, however, an alternative window 450may be provided to the user from the list 410. The window 450 may listcommunication identifiers for exchanging communications of more than onetype. In the example provided, the window 450 may display separate itemsfor mobile phone number 452, instant text messages 454, and emailaddresses 456, 458. Some of the identifiers for different items mayactually be the same, but fields listing the identifiers may designatethe identifier for the corresponding communication type.

In an embodiment shown by FIG. 4B, the user may be able to specify analternative communication identifier, and/or an alternativecommunication application for communicating with the correspondent ofthe contact record. For example, window 450 may display an emailaddress, and the user may select the email address to automaticallylaunch the email application. An email may be composed with the selectedemail address. As another example, the mobile number may be listed andused for email or SMS, rather than for a phone call.

In another embodiment, the windows 430 or 450 may display moreinformation about the contact of the selected entry. For example, if thecontact record corresponding to the selected entry includes an image, arepresentation of that image may be displayed in the window 430, or inanother sub-feature that can be generated through the user's interactionwith the list 410. Additionally, personal information, such as textaccompanying the associated contact record may also be displayed in thewindow 430. In another embodiment, window 430 may include a link that isselectable by the user to view the entire contact record.

As mentioned, the windows 430 and 450 are just examples of a sub-featurethat can be generated in response to an input from the user. Window 430may float over other content, have different sizes, and/or beconfigurable by the user. According to an embodiment, informationdisplayed in the window 430 is based on information stored in thecontact record of the selected entry. Thus, the contents of the window430 are determined by the contents of the contact record for theselected entry. Additionally, the size of the window, and the number ofentries contained in the window, may be based on the contents of thecorresponding contact record.

An embodiment such as shown by FIG. 4A or FIG. 4B enables the user toview the numbers (or other communication identifiers) before selectingan action that results in initiation of a communication. For example,the user may view the communication identifiers presented in window 430and decide not to place a phone call. By presenting information based onthe communication identifiers (e.g. phone numbers) of the selectedcontact record at the same time, the user is enabled to make adetermination of how to communicate with the user (e.g. what number touse). For example, the user may view the area code of one of the numbersand recognize the number as being a long-distance call that is moreexpensive. As another example, by presenting the numbers for viewingbefore dialing, the user may recognize the number most often used by thecontact, or view the information to determine that the user has no homenumber, so that the work number should be used.

As shown by FIG. 4A, an embodiment provides that the user may, from apresented user-interface such as list 410, make one selection to viewphone numbers and other communication identifiers from a given contactrecord. In making the selection, the acts performed by the user mayinclude navigating up or down, and then selecting. The selection actionresults in the window 430. One other selection action is needed for theuser to place a call or initiate another communication. Thus, anembodiment provides that from list 410, the user needs only to make twoselections: entry selection, then phone number/communication identifierselection. A communication is initiated based on the two selection actsof the user. This greatly simplifies the interaction required by theuser, particularly in the context of small form-factor computingdevices. The act of selecting may correspond to a button press or screentap. In an embodiment such as shown by FIG. 2B, the user can make theselection action using the multi-dimensional input mechanism, with onehand and even one thumb.

Additionally, the user can view the phone number/communicationidentifier before committing to initiating the communication. Anotherembodiment may provide that more of the contact record may be viewedfrom selection from list 410, prior to the user indicating a type ordesire to initiate the communication. For example, the user can decideto use the mobile number after viewing all of the phone numbers (asshown in FIG. 4A). In FIG. 4B, the user is not committed to a particulartype of communication until viewing the phone number, email address,instant message identifier or other identifier for other types ofcommunications. If additional communication identifiers of differenttypes are used, the user can decide on the type of communication afterviewing all of the different communication identifiers.

While embodiments such as described with FIGS. 4A and 4B illustrate alist that can be maintained with a phone application, numerous othertypes of lists may be maintained. For example, messaging applicationstypically keep lists of transmitted messages and received messages.Conventional techniques provide that such messages are listedindividually, by subject or other message identifier. According to anembodiment, each entry in a message list that uses a recognized messageidentifier (e.g. email address from a known contact record) may beidentified by an identifier to the contact record that has that messageidentifier. Moreover, the user may perform a selection action on theentry in the message list to view information from the contact record.The additional information that can be displayed may include additionalcommunication identifiers, such as phone numbers or other messageidentifiers. Under an embodiment, for example, the user can select amessage identifier from a sub-feature of the message list in order tocompose a new message to the contact. For example, if the message listis an inbox, the user may select the entry that is displayed as acontact record, and even select the same email address for the contactthat was used in transmitting the message. This allows the user toquickly compose a message to the contact that is not a “reply” to anexisting message in the message list.

In another embodiment, the user can select another communicationidentifier from a message list, including one for enabling the user toinitiate a different type of communication. For example, from themessage list, the user may select an identifier of a contact record,causing a window (such as shown in FIG. 4A and FIG. 4B) to be displayedwith phone numbers and messaging addresses from that contact record. InFIG. 4A, the user may initiate a phone call by selecting one of thephone number. Thus, the phone application may be launched from viewingthe message list. In FIG. 4B, the user may initiate a communication of aparticular type by selecting the particular communication identifier.

While embodiments described above provide for lists to be maintained inassociation with communication applications, an embodiment may alsoprovide for applications that are themselves managers of communicationactivities. For example, a communication log may exist as an independentapplication, or part of an application that is independent of othercommunication applications. The communication log may provide aprogrammatic means by which communications made or received from thecommunication device are logged or otherwise recorded. The recording maybe in the form of a list that maintains identifiers of contact recordsto indicate the occurrence of a communication, which may be of differenttypes. As described with FIG. 4A or FIG. 4B, selection of an entry thatis recognized (and thus listed as a contact record) results ininformation from a corresponding contact record.

Contact Look-Up

Contact lookup is a feature that can be used in association with acontact or address book application. The contact lookup feature is used,in for example, the TREO 650, manufactured by PALM, INC. The contactlookup feature enables a user to type in a sequence of alphanumericcharacters. After the entry of each character in the sequence, all ofthe contact records that match that sequence at that state areidentified. As the number of characters in the sequence grows, thenumber of matching contact records becomes fewer, until only one contactrecord is identified and unambiguous.

Different algorithms exist for performing the contact lookup operations.For example, a sequence of characters entered by the user may be matchedto last name, or a last name or first name. Alternatively, the sequenceof characters may be separated, with one portion of the sequence beingmatched to a first name and another portion being matched to a lastname. Still further, the contact lookup feature may match a user's entryto a field other than the name of the contact.

With each entry in the user's entered sequence, a search is performed tomatch the sequence, or portions of it, to individual contact records. Inone implementation, matching contact records are displayed to the useron an ongoing basis, responsive to each individual entry of the user. Assuch, the case often arises where more than one contact record matchesan entry or sequence of entries, until at least another entry is made.When more than one entry matches the lookup sequence, the result istermed ambiguous. FIG. 5A illustrates implementation of an embodiment inconnection with a lookup feature 510 for a contact database, whereresults matching the user's entries are in an ambiguous state. In anembodiment, the results of a contact lookup operation are presented tothe user in a window 530. Information from multiple contact records thatmatch the user's entry 532 are displayed in the window 530. According toan embodiment shown, the information from each contact record includes aset of communication identifiers. FIG. 5A shows an embodiment similar toFIG. 4A, in that the set of communication identifiers for each recordare phone numbers 542, 544. Each of the phone numbers listed areprovided as active items, meaning the user can select (e.g. throughclicking, button press or screen tap) or act on the numbers to cause thephone numbers to be used by the phone application. For example, the usermay select one of the phone numbers for one of the two records totrigger the communication device to initiate a phone call.

In the case where the number of matching records is limited, but morethan one, an implementation provides that the window 530 may extend, orbe scrollable to view all the matching records. FIG. 5B illustrates awindow 550 with an unambiguous result, with the variation that more thanone type of communication identifier is displayed in the window.

Device Notifications Involving Contacts

Notifications provide another context for implementing a user-interfacefeature that displays information from a contact record, under anembodiment of the invention. Generally, notifications are messages thatare programmatically generated for the user of a device in response toan event. The following are examples of how notifications may be used:(i) to inform a user of a missed phone call; (ii) to inform the userthat there is voicemail; (iii) to mark the arrival of an incomingmessage; (iv) to display a calendar event or reminder; and (v) todisplay a deadline for a scheduled task.

According to an embodiment, one or more types of notifications may beused that involve contacts. In such cases, an embodiment provides thatthe notification may be present a contact record pertinent to thenotification in a manner that enables the user to view, or select toview, information from the record.

FIG. 6A shows a notification 610 for a missed call. The number of thecaller is displayed. When the call is received, the number is matched toa number from a contact record in the device's contact database. Anentry 612 indicates the name of the caller, which may reflect the namefrom either the contact record or from the caller-identification. Thenotification 610 presents the entry 612 as a link or other selectabledata structure. The link may be acted on by the user to view the contactrecord for the caller, or to view information from the contact record,such as presented by windows 530 and 550 of FIGS. 5A and 5B. Theinformation that can be viewed from the contact record may include callback number, alternative phone number, email address, SMS address, MMSaddress, and/or other communication identifiers.

FIG. 6B illustrates a notification 620 that shows two missed calls asseparate entries 622, 624. In the example shown, each call containedinformation (e.g. phone number) that enabled the communication device toidentify a contact record that belongs to the caller. Each entry 622,624 identifies the contact record of the caller, and is in the form of alink or selectable data structure that can be acted upon to view thecontact record, or information from the contact record.

FIG. 6C shows an example where a notification 630 displays informationfrom the contact record, without further action required from the user.In an embodiment, the information includes an image 632 stored in orwith the contact record. Thus, the user can tell who called with a quickglance, rather than reading text, or selecting links to contact records.

Shortcut Actions

One or more embodiments may be implemented for shortcut actions.Shortcut actions are user-interface features that simply the use ofcomputing devices. An example of a shortcut action that can beimplemented with an embodiment is a press and hold of an input key.Another example of a shortcut action is the user selecting an icon ordisplay object that represents a longer operation. Still further, otherexamples of shortcut actions include (i) a glyph entered by the user ona writing tablet or context-sensitive display, or (ii) a voice utterancethat can be translated by a speech interface. Cellular phones, forexample, sometimes employ shortcut actions as speed dials, to enable aperson to make a phone call through a tap and hold of a button, aselection of a displayed object, or a known speech utterance. Numerousother examples of shortcut actions exist.

FIG. 7 illustrates a method in which a user interface feature such asdescribed in FIG. 1 corresponds to a shortcut action. A method such asdescribed may be performed in order to (i) display information from acontact record, and (ii) to enable the user to initiate a communicationto the contact of the record, using one of the communication identifiersprovided in the contact record.

In step 710, a contact record is associated with a shortcut action. Thisassociation may be made by the user, through programmatic means, or setas a setting or default association with software or hardware on whichan embodiment is implemented. For example, the user may associate a tapand hold of a QWERTY key with a contact in the device's contactdatabase. As another example, the user may associate a displayed object,such as an icon, with the contact record.

Step 720 provides that the shortcut action is detected. In oneimplementation, the shortcut action may occur without a precursoruser-interface (such as displaying a list).

Responsive to the shortcut action occurring, step 730 provides that oneor more communication identifiers are automatically displayed or madeavailable for display. In one embodiment, information from the contactrecord associated with the shortcut action is rendered for the userwithout further action. In another embodiment, the user is provided alink or other active data structure that the user can select from inorder to view some or all of the information in the associated contactrecord.

In displaying the communication identifiers, the contact recordassociated with the action may be accessed responsively to theoccurrence of the shortcut action. Thus, if the user programs theshortcut action to a contact record, then changes the contact record,the occurrence of the shortcut action will provide updated information.

Information displayed or made available in response to the shortcutaction may include the communication identifiers of the contact record,or representations of those identifiers. In an implementation, onlycommunication identifiers of a particular kind are displayed. Forexample, all phone numbers, are a primary and alternative phone numberare displayed. In another implementation, communication identifiers forinitiating different kinds of communications are displayed. For example,a phone number, email address, SMS and/or MMS identifier may bedisplayed or made viewable.

In an embodiment, the communication identifiers may be displayed asactive data structures that can be selected or otherwise acted on toprogrammatically initiate a communication of a type indicated by theidentifier, or by a field of the identifier. In step 740, the userselects one of the communication identifiers. In an embodiment in whichthe user can initiate different types of communications from thedisplayed communication identifiers, the user's selection may indicatethe type of communication that is to be initiated. The indication may beprovided by the nature of the communication identifier. For example, thepresence of “@” may indicate an email communication, while a “1” plus anarea code may indicate a phone number. In another embodiment, thecommunication identifier is stored with context in the contact database(e.g. “home phone number” or “email address”), and its display includesmarkings that indicate the context, and thus the use of thecommunication identifier for a particular kind of communication.

Step 750 provides a communication is placed, transmitted, or at leastinitiated, to a correspondent of the contact record using the selectedcontact identifier. In the case where the communication identifiers thatare displayed are phone numbers, selection of one of the phone numberscauses that phone number to be dialed by the communication device. Foremail addresses, an embodiment provides that a new message is opened,and composed to the selected email address.

Image Content and Use

In making functionality of devices more contact-centric, there is alsoappeal in making the contact information more personable andidentifiable. Image content is a feature that can be supported by manycontact databases. Individual contact record may include pointers toimages, so that the contact record may be viewed as an image whenlisted.

With regard to embodiments described above, information displayed from acontact record may include image data stored with the contact recordthat is being used. Thus, for example, an entry in the list 410 (FIG. 4)may render an image associated with the contact in within or with thewindow 430. FIG. 6C illustrates another implementation of the user ofimage data.

An embodiment such as described with FIG. 7 may provide that a short cutaction is the selection of a display object, such as an icon. In anembodiment, the selection may correspond to an image provided from acontact database. The image may be a thumbnail or other rendition of anactual image stored on the device.

FIG. 8 illustrates an embodiment in which a user-interface 810 isprovided comprising a plurality of thumbnail images 812. In oneembodiment, the user-interface 810 is part of a speed dial application.Each image represents a number of a contact, and selection of one of theimage causes the communication device to dial a designated number in thecontact record of that contact.

As an alternative, an embodiment provides that selection of one of theimages 812 causes information from the associated contact record to bedisplayed or made viewable. For example, selection of one of the imagesmay cause a sub-feature, such as shown and described by FIG. 4A, FIG.4B, FIG. 5A, or FIG. 5B to be generated (e.g. see window 430). In eachcase, communication identifiers, such as phone numbers and emailaddresses may be displayed. One or more subsequent user-actions may berequired to select a desired communication identifier and to initiate acommunication.

While an embodiment such as described above provides that selection ofan image causes a number to be dialed, another embodiment may providethat another type of communication to be initiated. For example,selection of one of the images 812 may initiate an email, SMS or MMS tocontact associated with the image, using an identifier stored in theassociated contact record. The communication may be initiatedautomatically in response to the image selection, or after the user hasbeen presented with communication identifiers from the contact recordassociated with the image, and then made a subsequent selection.

FIG. 9 illustrates an interface 910 for establishing a speed dialaction, under an embodiment of the invention. In FIG. 9, the user mayassign a shortcut action 905 (“press and hold”) to a contact record bydesignating the action in an action designation field 902 of theinterface 910. The user may designate the label 904 for the shortcutaction to the contact. The interface 910 provides a link 912 to thecontact record of the contact. In one implementation, the link 912 maybe established by the user manually, using a contact lookup feature 914.Alternatively, the link may be established by the user entering a valuefor the number field 916. The number provided may be programmaticallymatched to one of the contact records stored on the device. The numberfield 916 may provide the number that is dialed when the shortcut action905 is performed. If the identified contact record includes or isassociated with an image, a thumbnail 920 or other rendition (evenduplicate) of that image is provided in the interface 910.

In one embodiment, linking the contact record to the shortcut actionresults in the shortcut action being updated with the contact record.For example, the user can alter the numbers of the contact record, andthe number field 916 is automatically changed. Performance of theshortcut action 905 results in the updated number being used, asreflected by the contact record. Thus, an embodiment such as describedin FIG. 9 enables the user to manage speed dial settings by managing thecontact database, simplifying the user's management of the device.

When interface 910 is closed, an embodiment provides the shortcut actionmay be triggered in one of two ways. The user may perform shortcutaction 905 (press and hold the “n” key) or the user may select an iconicrepresentation of shortcut action/interface. In one implementation, theiconic representation may correspond to image 920.

While FIG. 9 provides that the shortcut action 905 dials the number 916,another embodiment provides that the shortcut action 905 initiatesanother type of communication, as specified in a corresponding field.Furthermore, more than one shortcut action may be assigned to a contact.For example, two phone numbers, or a phone number and an email addressmay be assigned to initiate communication using the respectiveidentifiers.

Although illustrative embodiments of the invention have been describedin detail herein with reference to the accompanying drawings, it is tobe understood that the invention is not limited to those preciseembodiments. As such, many modifications and variations will be apparentto practitioners skilled in this art. Accordingly, it is intended thatthe scope of the invention be defined by the following claims and theirequivalents. Furthermore, it is contemplated that a particular featuredescribed either individually or as part of an embodiment can becombined with other individually described features, or parts of otherembodiments, even if the other features and embodiments make nomentioned of the particular feature. Thus, the absence of describingcombinations should not preclude the inventor from claiming rights tosuch combinations.

1. A method for operating a computing device, the method being performedby one or more processors of the computing device and comprising:presenting a user interface feature on a touch-sensitive display of thecomputing device, the user interface feature including one or moreimages and one or more names of persons associated with the one or moreimages, each of the one or more images being (i) associated with aperson and contact information for that person, and (ii) selectable by auser; enabling the user to select a first image from the one or moreimages by making contact with a region on the touch-sensitive displaywhere the first image is present; in response to the user selecting thefirst image, presenting contact information corresponding to the personassociated with the first image on the display, the contact informationincluding one or more selectable contact entries; and in response to theuser selecting one of the one or more selectable contact entries,automatically initiating a communication using an applicationcorresponding to a type of the selected contact entry.
 2. The method ofclaim 1, wherein the one or more selectable contact entries include arepresentation corresponding to a type of a contact identifier.
 3. Themethod of claim 1, wherein the one or more selectable contact entriesinclude a contact identifier, the contact identifier including at leastone of a phone number, an email address, or an instant messageidentifier.
 4. The method of claim 1, wherein the application includesat least one of a phone application, an email application, or amessaging application.
 5. The method of claim 1, wherein the userinterface feature corresponds to a list of favorite contacts.
 6. Themethod of claim 1, wherein the computing device is a cellular phone. 7.A non-transitory computer readable medium storing instructions that,when executed by one or more processors of a computing device, cause theone or more processors to perform a method comprising: presenting a userinterface feature on a touch-sensitive display of the computing device,the user interface feature including one or more images and one or morenames of persons associated with the one or more images, each of the oneor more images being (i) associated with a person and contactinformation for that person, and (ii) selectable by a user; enabling auser to select a first image from the one or more images by makingcontact with a region on the touch-sensitive display where the firstimage is present; in response to the user selecting the first image,presenting contact information corresponding to the person associatedwith the first image on the display, the contact information includingone or more selectable contact entries; and in response to the userselecting one of the one or more selectable contact entries,automatically initiating a communication using an applicationcorresponding to a type of the selected contact entry.
 8. Thenon-transitory computer readable medium of claim 7, wherein the one ormore selectable contact entries include a representation correspondingto a type of a contact identifier.
 9. The non-transitory computerreadable medium of claim 7, wherein the one or more selectable contactentries include a contact identifier, the contact identifier includingat least one of a phone number, an email address, or an instant messageidentifier.
 10. The non-transitory computer readable medium of claim 7,wherein the application includes at least one of a phone application, anemail application, or a messaging application.
 11. A computing devicecomprising: a touch-sensitive display; one or more processors coupled tothe touch-sensitive display; and a memory resource coupled to the one ormore processors, the memory resource storing instructions that, whenexecuted by the one or more processors, cause the one or more processorsto: present a user interface feature on the touch-sensitive display, theuser interface feature including one or more images and one or morenames of persons associated with the one or more images, each of the oneor more images being (i) associated with a person and contactinformation for that person, and (ii) selectable by a user; enabling auser to select a first image from the one or more images by makingcontact with a region on the touch-sensitive display where the firstimage is present; in response to the user selecting the first image,present contact information corresponding to the person associated withthe first image on the display, the contact information including one ormore selectable contact entries; and in response to the user selectingone of the one or more selectable contact entries, automaticallyinitiate a communication using an application corresponding to a type ofthe selected contact entry.
 12. The computing device of claim 11,wherein the one or more selectable contact entries include arepresentation corresponding to a type of a contact identifier.
 13. Thecomputing device of claim 11, wherein the one or more selectable contactentries include a contact identifier, the contact identifier includingat least one of a phone number, an email address, or an instant messageidentifier.
 14. The computing device of claim 11, wherein theapplication includes at least one of a phone application, an emailapplication, or a messaging application.
 15. The computing device ofclaim 11, the user interface feature corresponds to a list of favoritecontacts.